《深入理解计算机系统》 day01

预处理阶段

预处理器(cpp)识别以#字符开头的指令 修改源程序,比如#iclude<stdio.h>告诉预处理器读取系统头文件stdio.h的内容并把它插入程序文本中就得到另一个C程序,以 .i 为文件扩展名

编译阶段

编译器(ccl)将hello.i翻译成文本文件hello.s,它包含一个汇编程序,每条语句都以一种文本格式描述了一条低级的机器语言指令

汇编阶段

接下来汇编器(as)将hello.s翻译成机器语言指令,并将结果打包在一个二进制文件 hello.o 中

链接阶段

将程序中需要用到的函数,例如printf,从printf.o包中用链接器(ld)合并到hello.o程序中得到一个hello文件,加载到内存中交给系统执行。

🍭支持一根棒棒糖!